##### rolling_config

| 字段         | 类型     | 必选 | 描述                                                               |
|------------|--------|----|------------------------------------------------------------------|
| type       | int    | 否  | 滚动对象：1-传输目标；2-源文件；不填写默认为传输目标。                                    |
| mode       | int    | 是  | 滚动机制：1-执行失败则暂停；2-忽略失败，自动滚动下一批；3-人工确认                             |
| expression | string | 否  | 滚动对象为【传输目标】时必填，滚动策略表达式                                           |
| file_source | object | 否  | 滚动对象为【源文件】时必填，源文件滚动配置，见rolling_config.file_source定义，不支持与传输目标同时滚动，配置该项后源文件类型仅支持服务器文件 |

##### rolling_config.file_source

| 字段         | 类型     | 必选 | 描述                                                               |
|------------|--------|----|------------------------------------------------------------------|
| max_execute_object_num_in_batch          | int    | 否  | 单批次最大源主机/容器数，不填写表示不限制                                    |
| max_file_num_of_single_execute_object    | int    | 否  | 单主机/容器最大并发文件数，不填写表示不限制                                   |

**源文件滚动策略说明：**  
以单个源文件组为单位，判断其中源文件目标机器与文件数量是否超限：  
若不超限，按顺序将相邻的尽可能多的源文件组划分为一个滚动批次；  
若任一参数超限，则将该源文件组按照滚动参数拆分为多个滚动批次；  
划分滚动批次时优先将同一组机器的文件分批传输完成再开始下一组机器。  
  
**例子1（按单机器单文件串行滚动分批）：**  
源文件配置：  
源文件组1： 文件1，文件2 | 机器1，机器2，机器3  
max_execute_object_num_in_batch=1  
max_file_num_of_single_execute_object=1  
划分出6个滚动批次：  
批次1：机器1 x 文件1  
批次2：机器1 x 文件2  
批次3：机器2 x 文件1  
批次4：机器2 x 文件2  
批次5：机器3 x 文件1  
批次6：机器3 x 文件2  
  
**例子2（一个源文件组拆分为多个批次）：**  
源文件配置：  
源文件组1： 文件1，文件2，文件3 | 机器1，机器2，机器3  
源文件组2： 文件4 | 机器4  
max_execute_object_num_in_batch=2  
max_file_num_of_single_execute_object=2  
划分出5个滚动批次：  
批次1：（机器1，机器2） x （文件1，文件2）
批次2：（机器1，机器2） x 文件3
批次3：机器3 x （文件1，文件2）
批次4：机器3 x 文件3  
批次5：机器4 x 文件4  
  
**例子3（滚动参数较大时，多个源文件组融合为一个批次）：**  
源文件配置：  
源文件组1： 文件1，文件2，文件3 | 机器1，机器2，机器3  
源文件组2： 文件4 | 机器4  
max_execute_object_num_in_batch=4  
max_file_num_of_single_execute_object=4  
划分出1个滚动批次：  
批次1：（（机器1，机器2，机器3） x （文件1，文件2，文件3））并行（机器4 x 文件4）
